#include "helper.hpp"
#include "logger.hpp"

int main()
{
    cola::FileHelper helper("copy.hpp");
    DLOG("是否存在: %d", helper.exists());
    DLOG("文件大小: %ld", helper.size());

    cola::FileHelper temp("./aaa/bbb/ccc/temp.hpp");
    if (temp.exists() == false)
    {
        std::string path = cola::FileHelper::parentDirectory("./aaa/bbb/ccc/temp.hpp"); //获取文件父路径
        if (cola::FileHelper(path).exists() == false) //如果父路径不存在则创建
        {
            cola::FileHelper::createDirectory(path);
        }
        cola::FileHelper::createFile("./aaa/bbb/ccc/temp.hpp");  //在路径下创建文件
    }
    //读取/写入整个文件
    std::string buffer;
    helper.read(buffer);
    DLOG("%s", buffer.c_str());
    temp.write(buffer);
    
    //从指定位置读取/写入
    char str[16] = { 0 };
    temp.read(str, 8, 4);
    DLOG("%s", str);
    temp.write("123456789", 8, 11);

    //修改名称
    temp.renameFile("./aaa/bbb/ccc/test.hpp");

    //删除文件
    cola::FileHelper::removeFile("./aaa/bbb/ccc/test.hpp");

    //删除目录
    cola::FileHelper::removeDirectory("./aaa");

    return 0;
}